Stored Procedures [dbo].[sp_asi_Discussions]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@POST_SEQ_1int4
@TOPIC_SEQ_2int4
@FORUM_SEQ_3int4
@COMMUNITY_SEQ_4int4
@POST_TITLE_5varchar(80)80
@TREE_LOCATION_6varchar(255)255
@ID_7varchar(10)10
@ANONYMOUS_FLAG_8bit1
@DATE_STORED_9datetime8
Permissions
TypeActionOwning Principal
GrantExecuteIMIS
SQL Script
CREATE PROCEDURE [dbo].[sp_asi_Discussions]
(@POST_SEQ_1 int,
  @TOPIC_SEQ_2 int,
  @FORUM_SEQ_3 int,
  @COMMUNITY_SEQ_4 int,
  @POST_TITLE_5 varchar(80),
  @TREE_LOCATION_6 varchar(255),
  @ID_7 varchar(10),
  @ANONYMOUS_FLAG_8 bit,
  @DATE_STORED_9 datetime)
AS
DECLARE @find varchar(255)
DECLARE @length  int
DECLARE @thread_num  int
DECLARE @date_last_post  datetime
DECLARE @post_count int
if @TOPIC_SEQ_2 = 0
   BEGIN
     exec sp_asi_GetCounter2 'Cmty_Discussion_Topics', @TOPIC_SEQ_2 output
     SELECT @TREE_LOCATION_6 = NULL
     SELECT @date_last_post = @DATE_STORED_9
     SELECT @post_count = 1
   END
else
     BEGIN
       IF @TREE_LOCATION_6 IS NULL
         SELECT @TREE_LOCATION_6 = '000'
       ELSE IF @TREE_LOCATION_6 = ''
         SELECT @TREE_LOCATION_6 = '000'
       SELECT @length = LEN(@TREE_LOCATION_6)-3
       SELECT @find = SUBSTRING(@TREE_LOCATION_6,1,@length) + 'zzz'
       SELECT @TREE_LOCATION_6 = MAX(TREE_LOCATION) FROM Cmty_Discussion_Posts WHERE TOPIC_SEQ = @TOPIC_SEQ_2 AND TREE_LOCATION < @find
       SELECT @thread_num = CAST(SUBSTRING(@TREE_LOCATION_6,@length+1,3) AS int)
       SELECT @TREE_LOCATION_6 = SUBSTRING(@TREE_LOCATION_6,1,@length)
       if @thread_num < 999
          SELECT @thread_num = @thread_num + 1
       if @thread_num < 10
         SELECT @TREE_LOCATION_6 = RTRIM(@TREE_LOCATION_6 + '00' + CAST(@thread_num AS char))
       else
BEGIN
    if @thread_num < 100
         SELECT @TREE_LOCATION_6 = RTRIM(@TREE_LOCATION_6 + '0' + CAST(@thread_num AS char))
         else
         SELECT @TREE_LOCATION_6 = RTRIM(@TREE_LOCATION_6 + CAST(@thread_num AS char))
END
       if @TREE_LOCATION_6 IS NULL
         SELECT @TREE_LOCATION_6 = '001'
       SELECT @date_last_post = NULL
       SELECT @post_count = NULL
     END
INSERT INTO Cmty_Discussion_Posts
  ( POST_SEQ,
   TOPIC_SEQ,
   FORUM_SEQ,
   COMMUNITY_SEQ,
   POST_TITLE,
   TREE_LOCATION,
   ID,
   ANONYMOUS_FLAG,
   DATE_STORED,
   STATUS,
  DATE_LAST_POST,
  POST_COUNT)
VALUES
( @POST_SEQ_1,
  @TOPIC_SEQ_2,
  @FORUM_SEQ_3,
  @COMMUNITY_SEQ_4,
  @POST_TITLE_5,
  @TREE_LOCATION_6,
  @ID_7,
  @ANONYMOUS_FLAG_8,
  @DATE_STORED_9,
  'ACT',
  @date_last_post,
  @post_count)
if @post_count IS NULL
UPDATE Cmty_Discussion_Posts SET DATE_LAST_POST = @DATE_STORED_9, POST_COUNT = POST_COUNT + 1
WHERE TOPIC_SEQ = @TOPIC_SEQ_2 AND TREE_LOCATION IS NULL

GO
GRANT EXECUTE ON  [dbo].[sp_asi_Discussions] TO [IMIS]
GO
Uses